package _03_myString;

// 定义抽象数据类型SString
public interface SString {
    int length();
    
    char charAt(int i);
    // 设置第i个字符为ch
    void setCharAt(int i, char ch);
    // 返回从begin到end的子串
    SString subString(int begin, int end);
    // 返回this与s串连接生成的串
    SString concat(SString s);
    // 在第i个字符处插入s串，返回插入后的字符串
    SString insert(int i, SString s);
    // 删除从begin到end-1的子串，返回删除后的字符串
    SString delete(int length, int end);
    // 比较this与obj引用的串是否相等
    boolean equals(Object obj);
    // 比较this与s串的大小，返回两者的差值
    int CompareTo(SString s);
    // 返回首个与pattern串匹配的子串序号
    int indexOf(SString pattern);
    // 删除所有与pattern匹配的子串
    void removeAll(SString pattern);
    // 替换所有的与pattern匹配的子串为s
    void replaceAll(SString pattern, SString s);
    
}
